<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>API测试页面</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
            line-height: 1.6;
        }
        .container {
            max-width: 800px;
            margin: 0 auto;
        }
        .stat-box {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 5px;
            padding: 15px;
            margin-bottom: 20px;
        }
        .stat-value {
            font-size: 24px;
            font-weight: bold;
            color: #007bff;
        }
        .stat-label {
            font-size: 14px;
            color: #6c757d;
        }
        .log-box {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 5px;
            padding: 15px;
            margin-top: 20px;
            font-family: monospace;
            white-space: pre-wrap;
            max-height: 300px;
            overflow-y: auto;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>API测试页面</h1>
        
        <div class="stat-box">
            <span class="stat-value" id="userCount">--</span>
            <div class="stat-label">系统用户</div>
        </div>
        
        <div class="stat-box">
            <span class="stat-value" id="roleCount">--</span>
            <div class="stat-label">系统角色</div>
        </div>
        
        <div class="stat-box">
            <span class="stat-value" id="permissionCount">--</span>
            <div class="stat-label">系统权限</div>
        </div>
        
        <div class="stat-box">
            <span class="stat-value" id="pageViewCount">--</span>
            <div class="stat-label">页面访问次数</div>
        </div>
        
        <div class="log-box" id="logBox"></div>
    </div>

    <script>
        // 日志输出函数
        function log(message) {
            const logBox = document.getElementById('logBox');
            const timestamp = new Date().toLocaleTimeString();
            logBox.textContent += `[${timestamp}] ${message}\n`;
            console.log(message);
        }
        
        // 页面加载后获取系统统计数据
        document.addEventListener('DOMContentLoaded', function() {
            log('页面加载完成，开始获取数据...');
            
            // 获取当前上下文路径
            const contextPath = window.location.pathname.split('/')[1];
            const baseUrl = '/' + contextPath;
            
            log('Context path: ' + contextPath);
            log('Base URL: ' + baseUrl);
            log('Full URL: ' + window.location.origin + baseUrl);
            
            // 获取用户数量
            log('开始获取用户数据...');
            fetch(window.location.origin + baseUrl + '/api/users')
                .then(response => response.json())
                .then(data => {
                    log('用户数据: ' + JSON.stringify(data));
                    if (data.code === 200 && data.data) {
                        // 处理不同的数据格式
                        let userCount = 0;
                        if (Array.isArray(data.data)) {
                            userCount = data.data.length;
                        } else if (data.data.list && Array.isArray(data.data.list)) {
                            userCount = data.data.list.length;
                        }
                        document.getElementById('userCount').textContent = userCount;
                        log('用户数量: ' + userCount);
                    } else {
                        log('用户数据格式错误: ' + JSON.stringify(data));
                    }
                })
                .catch(error => {
                    log('获取用户数据失败: ' + error);
                    document.getElementById('userCount').textContent = '0';
                });
            
            // 获取角色数量
            log('开始获取角色数据...');
            fetch(window.location.origin + baseUrl + '/api/roles')
                .then(response => response.json())
                .then(data => {
                    log('角色数据: ' + JSON.stringify(data));
                    if (data.code === 200 && data.data) {
                        // 处理不同的数据格式
                        let roleCount = 0;
                        if (Array.isArray(data.data)) {
                            roleCount = data.data.length;
                        } else if (data.data.list && Array.isArray(data.data.list)) {
                            roleCount = data.data.list.length;
                        }
                        document.getElementById('roleCount').textContent = roleCount;
                        log('角色数量: ' + roleCount);
                    } else {
                        log('角色数据格式错误: ' + JSON.stringify(data));
                    }
                })
                .catch(error => {
                    log('获取角色数据失败: ' + error);
                    document.getElementById('roleCount').textContent = '0';
                });
            
            // 获取权限数量
            log('开始获取权限数据...');
            fetch(window.location.origin + baseUrl + '/api/permissions')
                .then(response => response.json())
                .then(data => {
                    log('权限数据: ' + JSON.stringify(data));
                    if (data.code === 200 && data.data) {
                        // 处理不同的数据格式
                        let permissionCount = 0;
                        if (Array.isArray(data.data)) {
                            permissionCount = data.data.length;
                        } else if (data.data.list && Array.isArray(data.data.list)) {
                            permissionCount = data.data.list.length;
                        }
                        document.getElementById('permissionCount').textContent = permissionCount;
                        log('权限数量: ' + permissionCount);
                    } else {
                        log('权限数据格式错误: ' + JSON.stringify(data));
                    }
                })
                .catch(error => {
                    log('获取权限数据失败: ' + error);
                    document.getElementById('permissionCount').textContent = '0';
                });
            
            // 获取页面访问次数
            log('开始获取页面访问数据...');
            fetch(window.location.origin + baseUrl + '/api/stats/page-views')
                .then(response => response.json())
                .then(data => {
                    log('页面访问数据: ' + JSON.stringify(data));
                    if (data.code === 200 && data.data) {
                        // 处理不同的数据格式
                        let pageViewCount = 0;
                        if (typeof data.data === 'number') {
                            pageViewCount = data.data;
                        } else if (data.data.totalViews) {
                            pageViewCount = data.data.totalViews;
                        }
                        document.getElementById('pageViewCount').textContent = pageViewCount;
                        log('页面访问次数: ' + pageViewCount);
                    } else {
                        log('页面访问数据格式错误: ' + JSON.stringify(data));
                    }
                })
                .catch(error => {
                    log('获取页面访问次数失败: ' + error);
                    document.getElementById('pageViewCount').textContent = '0';
                });
        });
    </script>
</body>
</html>